


package com.iss.umservice.dao.impl;
import java.util.List;

import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.iss.umservice.dao.CompanyapplyDao;

/**
 * 企业申请信息维护
 * 实现CompanyapplyDao接口：对企业申请信息进行新增、修改、删除、按条件查询及单独查询操作
 * 采用的spring支持ibatis的DAO方案
 * @author luzi
 */
@Repository
public class CompanyapplyDaoImpl extends SqlMapClientDaoSupport implements
		CompanyapplyDao {
	/**
	 * 新增企业申请信息
	 * @param newBean 待添加的企业申请信息
	 * @return 自动分配的ID值
	 */
	@Override
	public int addCompanyapply(com.iss.umservice.bean.CompanyApplyBean newBean){
		int id = (Integer) getSqlMapClientTemplate().insert(
				"companyapply.add_companyapply", newBean);
		return id;
	}

	/**
	 * 修改企业申请信息
	 * @param bean 待修改企业申请信息
	 */
	@Override
	public void modCompanyapply(com.iss.umservice.bean.CompanyApplyBean bean){
		getSqlMapClientTemplate().update("companyapply.modify_companyapply",
				bean);
	}

	/**
	 * 删除企业申请信息
	 * @param bean 至少需要对一个唯一值属性进行设值
	 */
	@Override
	public void delCompanyapply(com.iss.umservice.bean.CompanyApplyBean bean){
		getSqlMapClientTemplate().delete(
				"companyapply.delete_companyapply", bean);
	}

	/**
	 * 根据条件查询企业申请信息
	 * @param condition 查询条件
	 * @param offset 分页起始位置
	 * @param row 分页记录数
	 * @return 符合查询条件的记录集合
	 */
	@Override
	public List<com.iss.umservice.bean.CompanyApplyBean> queryCompanyapplys(com.iss.umservice.bean.CompanyApplyBean condition, int offset, int row){
		return getSqlMapClientTemplate().queryForList(
				"companyapply.query_companyapplyByCoditions", condition,
				offset, row);
	}

	/**
	 * 获得企业申请信息数目
	 * @param condition 查询条件
	 * @return 符合查询条件的记录总数
	 */
	@Override
	public int countCompanyapply(com.iss.umservice.bean.CompanyApplyBean condition){
		return (Integer) getSqlMapClientTemplate()
		.queryForObject(
				"companyapply.get_companyapplyCountByCoditions",
				condition);
	}
	
	/**
	 * 获得某个企业申请信息
	 * @param condition 查询条件
	 * @return 符合查询条件的记录
	 */
	@Override
	public com.iss.umservice.bean.CompanyApplyBean getCompanyapply(com.iss.umservice.bean.CompanyApplyBean condition){
		return (com.iss.umservice.bean.CompanyApplyBean) getSqlMapClientTemplate()
		.queryForObject("companyapply.get_companyapplyByUnique",
				condition);
	}

	/**
	 * 获得所有企业申请信息
	 * @return 记录集合
	 */
	@Override
	public List<com.iss.umservice.bean.CompanyApplyBean> allCompanyapply(){
		return getSqlMapClientTemplate().queryForList(
		"companyapply.all_companyapply");
	}
}